#ifndef Indice_H
#define Indice_H

#include <stddef.h>
#include "vector_dinamico.h"

/* *****************************************************************
 *                DEFINICION DE LOS TIPOS DE DATOS
 * *****************************************************************/

typedef struct _Indice Indice_t;

/* *****************************************************************
 *                    PRIMITIVAS DEL Indice
 * *****************************************************************/

/* Crea y devuelve un Indice. Devuelve NULL en caso de error.
 * 'lexico' debe contener todas las rutas de los archivos físicos
 * correspondientes al léxico. De la misma manera, 'datos' a los datos. */
Indice_t* Indice_crear (vector_dinamico_t* lexico, vector_dinamico_t* datos);

/* Muestra el vector dinámico con las rutas al léxico almacenadas.
 * IMPORTANTE: NO debe ser borrado ni alterado! */
vector_dinamico_t* Indice_verRutasLexico (Indice_t* indice);

/* Muestra el vector dinámico con las rutas a los datos almacenadas.
 * IMPORTANTE: NO debe ser borrado ni alterado! */
vector_dinamico_t* Indice_verRutasDatos (Indice_t* indice);

void Indice_imprimir (Indice_t* indice);

/* Destruye el Indice. */
void Indice_destruir (Indice_t* indice);

#endif //  Indice_H 

